home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Workbench Add-On
/
Workbench Add-On - Volume 1.iso
/
BBS-Archive
/
DiskUtil
/
Info
/
QDisk211.lha
/
QDisk.doc
< prev
next >
Wrap
Text File
|
1994-05-18
|
22KB
|
472 lines
Q D I S K (Query Disk)
~~~~~~~~~~~~~~~~~~~~~~~
Version : 2.11
Written By : Norman Baccari
Compiler : SAS/C V6.51
Program Icon : John Waszczak
Interface : GadToolsBox 37.300 © Jaba Devlopement.
COPYRIGHT : © 1993-94 Norman J. Baccari
Distribution : FREEWARE. "Its Not PD, But Its FREE!"
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
/ DISTRIBUTION \
/ \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NO WARRANTIES ARE MADE. ALL USE IS AT YOUR OWN RISK. NO LIABILITY OR
RESPONSIBILITY IS ASSUMED. QDisk is NOT public domain. QDisk may be
freely distributed as long as the there are no charges other than for
media and / or mailing, the program is not used for commercial gain or
included as part of any other software without permission from the
author, and the program and the documentaion file remain intact,
unalterd and distributed together. QDisk is classed as FREEWARE. All
I ask,is that you let me know of any problems or bugs you might
encounter, or just let me know what features you think QDisk should
have.
The following files make up the distribution for QDisk...
QDisk Main program.
QDisk.doc Standard text documentation.
QDisk.guide AmigaGuide format documentation.
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
/ WHAT IS QDISK? \
/ \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
QDisk provides you with the ability to monitor, from WorkBench, the
space usage of all AMIGA DOS disk volumes that are currently mounted.
QDisk can also send you a notification using a standard requester or a
recoverable alert when usage exceeds a limit set by you. QDisk
requires WB2.04 or higher.
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
/ NEW FOR QDISK V2.11 \
/ \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
° This is a maintenance version and minor bug fix.
° Removed and enforcer hit.
° Made a few optimizations.
° Binary now about 9% smaller.
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
/ PREVIOUS QDISK USERS NOTE!! \
/ \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As I had to restructure the preferences format, prefs prior to v2.10
will be ignored and not loaded. I apologize for this inconvenience.
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
/ MAIN WINDOW \
/ \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To use QDisk simply double click on the program icon or you can place
QDisk in you WBStartUp drawer. You will then be presented with the
main window on the WorkBench or public screen that you have specified.
In it will be a list of DOS volumes that are currently mounted. There
are 4 columns starting from "Usage", "DevName", "VolName" and
"FreeBytes". By simply clicking once on one of these lines, a detail
window will open showing more information on that particular volume.
Iconifying QDisk
~~~~~~~~~~~~~~~~
In the upper right corner there is a small square gadget with the
letter "I" in it. Clicking on this will cause QDisk to iconify. To
un-iconify, activate the iconified window by clicking once on it and
then click the right mouse button.
Menus
~~~~~
The menu options from the main window are as follows...
Menu Item Description
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Graph : Calls up graph usage window.
Iconify : Iconifies Disk.
Preferences
Notify : Prefs editor for notification of drive usage.
General : Prefs editor for QDisk general preferences.
Load : Load current preferences settings.
Save : Save current preferences settings.
About : Author/program info
Quit : Quit QDisk
Keeping Up To Date
~~~~~~~~~~~~~~~~~~
QDisk reads the systems DOS device/volume lists to update itself.
Updates happen whenever a disk is removed or inserted, or the main
window is made active. Optionally, you can set updates to take place
by activating the timer and setting the timer interval from the
general preferences editor.
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
/ DETAIL WINDOW \
/ \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When you select one of the drives from the main windows listview
gadget by clicking on it, you will be presented with a detail window
with information on the drive you selected. Across the bottom of the
window there is a graphic bar that indicates the space usage based on
percent.
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
/ GRAPH WINDOW \
/ \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Selecting "Graph" from the main menu will provide you with a window
that has a bar graph or "gas gauge" representing each drives space
usage. If there are more than 10 drives mounted on your system then
you can use the scroll bar on the right of the window to scroll
through your drives.
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
/ GENERAL PREFERENCES \
/ \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Windows
~~~~~~~
This group of gadgets allows you to set the TopEdge and LeftEdge of
all the windows or you can manually enter values for TopEdge/LeftEdge.
Or, if the window is currently open, you can take a snapshot of it.
These values will be used next time you boot QDisk. If you try to
snapshot a window thats not open it will be ignored.
Bar Graph Pens
~~~~~~~~~~~~~~
This group of gadgets allows you to set the pen colors for all the
bar graphs. The front pen is used for the actual bar render, the back
pen for a background to the bar and the text pen is the color of the
text in the bar.
Miscellaneous Prefs
~~~~~~~~~~~~~~~~~~~
Priority
~~~~~~~~
The priority for QDisk can be altered by +/- 3. Use this option
keeping in mind that this will effect either QDisks performance or
your overall system performance. Good values would be +/- 1.
Sort Device Names
~~~~~~~~~~~~~~~~~
This will sort device names in ascending sequence.
Show Free Bytes AS Mb/Kb
~~~~~~~~~~~~~~~~~~~~~~~~
This will format the free bytes into Kilobytes/Megabytes. Keep in
mind that a kilobyte is 1,024 bytes and a megabyte is 1,048,576 bytes.
This should be mentioned as there will be a difference between space
expressed as bytes vs Mb/Kb.
Start Iconified
~~~~~~~~~~~~~~~
If activated, QDisk will start up in an iconified state.
Update Every...
~~~~~~~~~~~~~~~~
This will cause QDisk to be updated using the timer device at the
interval that you specify in seconds. The minimum interval is 5
seconds, and maximum interval is 999 seconds. Updates are always
performed when a disk is inserted or removed, or the main window is
activated. (See also "Considerations For Timed Notifications").
Mark When...
~~~~~~~~~~~~
This will cause QDisk to place an asterisk to the left side of any
volume that equals or exceeds the percent usage that you specify as
the "% Full". For example, if you specify a mark at 85%, any volume
having a percent usage of 85% or more will be marked.
PubScreen
~~~~~~~~~
If a public screen name is specified, QDisk will open on that screen.
Otherwise the WorkBench screen will be used.
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
/ NOTIFICATION PREFERENCES \
/ \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Setting Up Notification
~~~~~~~~~~~~~~~~~~~~~~~
Notification preferences are used to set up how you would like to be
notified if space usage exceeds your requirements. There are two
listviews, VOLUMES and the NOTIFY LIST. The VOLUMES list shows the
volumes currently mounted from which you may select. The lists are
arranged in two columns, the left showing the device name and the
right showing the volume name. Clicking on a volume from the VOLUMES
list will make it available to be added to the NOTIFY LIST. When a
volume is selected the "ADD" gadget will become active and the current
percent usage and free bytes for that volume are displayed in the read
only gadgets under the VOLUMES list. If you then click on the "ADD"
gadget above the VOLUME list then this volume will be inserted into
the NOTIFY LIST. To remove a volume from the NOTIFY LIST, select it
by clicking on it and then click on the "REMOVE" gadget. When a
volume is added, it is given a set of default parameters and set to be
inactive. To change these, select the volume from the NOTIFY LIST.
This will activate the gadgets from which you can change these
parameters. You can be notified based on percent usage, free bytes
left, or both.
Notify When Percent Full Exceeds...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This indicates the percent usage at which you would like to be
notified. If space usage percent is equal to, or exceeds what you
have specified then a notification will be sent. Setting this to 100%
is like turning it off.
Notify When Free Bytes Less Than...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This indicates the minimum allowable free space before a notification
is sent. If the free bytes on a volumes are equal to or less than
what you have specified then a notification will be sent. Setting
this to 0 is like turning it off.
Notification Type
~~~~~~~~~~~~~~~~~
You can be notified in one of two ways. An Intuition Requester or a
Recoverable Alert. When a notify is given using an Intuition
Requester you will be able to turn off notification or continue. From
the Recoverable Alert, the notification state is automatically turned
off once you click on a mouse button. From either type, QDisk will
tell you the device/volume name that triggered the notify, and the
current percent usage and free bytes on the drive. Keep in mind that
QDisk will NOT try to halt a process that may be saving or copying
data to your drive. Ideally, you should set your notifies to occur at
such a time that you can stop the program that is using up drive
space.
Notify State.
~~~~~~~~~~~~~
This is used to toggle notification between ACTIVE & IN-ACTIVE for the
currently selected volume in the NOTIFY LIST.
Considerations For Timed Notifications.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Keep in mind that the more volumes you have for active notification
the longer it will take QDisk to complete its update cycle. QDisk
first scans the AMIGA DOS list and updates its information. Then it
checks each active volume you have in the notification list and
compares your usage parameters with current usgae for each active
volume. In an extreme situation, if your auto update interval was 5
seconds and there were 20 active volumes to be checked for space usage
QDisk would be in a constant update cycle since, by the time it has
finished its update cycle QDisk will have received another message
from the timer device to perform an update. This means QDisk will be
using CPU at a constant rate. The best approach is to allow a time
period for each active volume you expect to be notified. The length
of time will depend on how fast your system is (I.E. 68000 vs 68040).
The priority that QDisk is set at should also be considered in this
case.
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
/ TO-DO LIST \
/ \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-A Listview gadget of active public screens to choose from.
-Option to ignore volume names on a notification.
-Alignment of main listview to bottom of window on resize. This
mis-alignment is actually a behaviour of gadtools.library & not
QDisk.
-A functioning Cancel button from the Notify Prefs.
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
/ BUGS AND BEHAVIOUR QUIRKS. \
/ \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The cancel function from the Notify Preferences window only closes
the window and doesnt actually cancel anything.
-Alignment of bottom of main window to bottom of main listview will
vary when main window is re-sized. This is a behaviour of the
operating system and not QDisk, but with a bit of code this could
be patched up.
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
/ PERSONAL NOTES \
/ \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I would like to take this opportunity to express my extreme thanks to
all the QDisk users that have been in contact with me to let me know
about bugs, and features that they would like implemented. QDisk has
been a tremendous learning experience for me and really owes its
current state to the user community. The reason I implemented QDisk
as FREEWARE is two fold. First I wanted to give something back to the
AMIGA community since I myself have made use of many PD/FREEWARE
programs and have received a lot of helpfull hints from other AMIGA
users by listening to comp.sys.amiga.programmer on the Internet.
Secondly, I generally dont believe in "crippleware" (there are
exceptions) or even worst software that has annoying requesters to
send money. These only succeed in my using the delete command. So to
all the QDisk users, I say Thank-You! A special thanks goes out to Jen,
over in England for your support and "cheery" letters. MOO!
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
/ AUTHOR CONTACT \
/ \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Internet Address...
normb@gpu.utcc.utoronto.ca
Otherwise Snail Mail Will Do...
Norman Baccari
ALGONQUIN SOFTWARE
35 Walmer Road, Suite 201
Toronto, Ontario
CANADA
M5R 2X3
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
/ QDISK HISTORY \
/ \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/*********************************************************************
**
** PROGRAM NAME : QDisk
** ~~~~~~~~~~~~
** ORGANIZATION : ALGONQUIN SOFTWARE
** ~~~~~~~~~~~~~
** PROGRAMMED BY : Norman J. Baccari
** ~~~~~~~~~~~~~
** DEV SUPPORT : "Second Cup" French Vanilla Coffee & lots of bagels.
** ~~~~~~~~~~~
** CREATION DATE : April 1993
** ~~~~~~~~~~~~~
** FUNCTION : Scan Amiga DOS devices & provide usage report
** ~~~~~~~~ : via WB GUI interface.
**
** REQUIREMENTS : OS v2.04 or greater.
** ~~~~~~~~~~~~
** HISTORY
** ~~~~~~~
** May 1994 v2.11 Program Size : 50024
** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
** -Fixed enforcer hit. Hit would happen if QD was iconified and
** a pref window was closed. QD would try to re-activate
** prefs menu on main window that wasnt attached. (My Fault!).
** -Recompiled QD and made some optimizations. Resulted in reduction
** in binary size (about 9% smaller).
** -Made some minor changes to some text items.
**
** April 1994 v2.10 Program Size : 54756
** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
** -New window: "Usage Graph" shows a scrollable bar graph list
** of each drives usage.
** -New Pref: "Priority" Sets QD priority +/- 3.
** -New Pref: "Bar Txt Pen" Sets the text pen for text in the bar graph.
** -New Pref: "Bar BG Pen" Sets a background pen for a bar graph.
** -New Pref: "Bar FG Pen" Sets the color of the bar graph.
** -New Pref: "Sort Devices" Sorts Drive by device name.
** -New Pref: "PubScreen" QDisk will now open on specified Public screen.
** -New Pref: "Show Free Bytes As.." Will format free bytes in kb/mb.
** -New Pref: "Force Main To Front". Will cause Main Window to move
** to front if its open. Ignored if a pref window is open.
** -Detail window now updates itself if open.
** -Graph Bar in detail window now shows % full in the bar.
** -Fixed bug in detail windows bar graph. It wasn't clearing bar
** if you selected a drive that was 0% full.
** -Removed WFLG_ACTIVATE flag from main/iconify window.
** -Removed window height gadget from general prefs.
** -Added new IFF chunk BPNS for Graph Bar Pen Prefs .
** -Added new IFF chunk PRIO for Priority Prefs.
** -Oversight on my part that nobody noticed or didnt inform me of.
** If you changed your prefs and canceled, nothing was actually canceled.
** It was no different than selecting OK. For general prefs this has been
** fixed. Still have to implement this for notification prefs.
** -Preferences file structure had to be redefined as it had a couple
** dead ends that were an oversight on my part. This means prefs prior
** to version 2.10 will not load into QDisk. Sorry!!
** -Re-defined struct PrefsMisc to contain all QDs BOOL flags
** in ULONG variable called Flags. Also added 2 more ULONG's
** just for a little headroom so I wouldnt have to do this again.
** -Window prefs are now saved as an IFF chunk for each window
** versus an array of window prefs in a single chunk.
** -Redesigned prefs editor into 2 menu options/windows to make room
** for more prefs. Consists of general prefs. and notification prefs.
** -Added keyboard shortcuts to menus.
**
** Jan 1994 v2.01 Program Size : 40564
** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
** -Rearanged gadgets on prefs editor window and added better label
** to make it more obvious how the percent/free bytes int gadgets work.
** -Forgot to put in Busy Pointer when the "About" option is called
** from the menu. This has been implemented.
**
** Jan 1994 v2.00 Program Size : 39520
** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
** -Jumped to version 2.00 from 1.1. (Almost a complete rewrite.)
** -All versions from 2.00 will use standard version notation.
** -All tooltypes removed and replaced with a preference editor.
** -Added as preference the ability to start QDisk Iconified.
** -Added snapshot feature to position windows from PrefEd.
** -Set up the ability to be notified when a drive exceeds space usage.
** -Changed Detail window from using IntuiText type display
** to GadTools text gadgets.
** -Main listview format is now a combination of drive/volume Name.
** -The HASH graph removed.
** -Changed the ABOUT credits listview to simple & brief
** system requester. The old way wasn't worth the overhead.
** -Permanently removed the update button.
** -New iconify routine uses a seperate window instead of the zip
** gadget. Activated by gadget in upper right corner above listview.
** -Replaced main window gadgets with menus.
** -Main window is now resizable.
** -Documentation in AmigaGuide Format.
** -Fixed an enforcer hit caused by NOT using LockDosList().(ouch!)
**
** Aug 1993 v1.1a Program Size : 31044
** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
** -Minor Bug in DetailWindow. Text and bar graph would be
** out of alignment if the screen font was more than
** 8 points. Made 'Y' coordinates relative to Windows
** TopBorder (window->BorderTop). Thanks Scott!
**
** Jul 1993 v1.1 Program Size : 30860
** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
** -Removed "OK" gadget from Detail window.
** -Removed recessed border in Detail window
** -Moved "gas gage" to bottom of Detail window.
** -Removed the font drop shadow in Detail window.
** -List View is only re-rendered on disk insertion
** or disk removal.
** -Auto Update via timer.device toggled on/off
** with AutoUpdate tool type.
** -UPDATE_SECONDS Tool type to set UD interval seconds.
** -New Detail display mode, HASHGRAPH
** -Rounding added to space usage for better accuracy.
** -ZOOM_X & ZOOM_Y tool types added for positioning
** window when zoomed.
** -Update on IDCMP_WINDOWACTIVE
** -SHOW tool type defines main display format for boot-up.
**
** Apr 1993 v1.0
** ~~~~~~~~~~~~~
** -Initial public release.
**
** Mar 1993 v0.04
** ~~~~~~~~~~~~~~
** -Versions up to 0.04 are unreleased BETA versions.
**
** Jan 1992 v0.00
** ~~~~~~~~~~~~~~
** -Original program (Called BOOTMSG) was a wb1.3 probe
** into device lists based on an article in the april/may
** 1991 issue of AW Tech Journal. It was never released
** as it was experimental, and stayed dormant until it
** was given a new life as QDISK more than a year later.
**
**************************************************************************/